﻿#include"test.h"

//int* func()
//{
//	//在堆区中申请int类型的内存
//	/*int* p = new int();*/
//	/*return p;*/
//	//在堆区中申请长度为10的int类型的数组
//	int* p = new int[10];
//	return p;
//}
//
//void test()
//{
//	int* arr = func();
//	for (int i = 0; i < 10; i++)
//	{
//		arr[i] = 100 + i;//100 -- 109
//	}
//}
//
//int main()
//{
//	int* pa = func();
//	cout << *pa << endl;
//}

//在c++中，函数的形式参数列表中形参可以有默认值
//返回值类型 函数名 （形参=默认值）


//函数的重载
//在同一个作用域中，同名不同参的函数


//c与c++结构体的区别
//c：
//struct Student
//{
//    只有变量
//}

//c++:
//struct Student
//{
//	变量
//	函数
//}
#include"use.h"
int main()
{
	use s;
	s.setName("aaa");
	s.setAge(-18);
	s.show();
	cout << "******************" << endl;

	Student stu;
	stu.name = "aaa";
	stu.age = 18;
	stu.show();
}

//定义一个类
// class 类的名字
//{ 
//   public:
//         构造函数
//   private:
//         成员变量
//   public//private//protected
//         成员函数(方法)
//  
// 类体
    // 成员变量
	// 成员函数（方法）
//}


//       访问权限控制
// public    private  protected
// 公共的    私有的   受保护的

//结构体中被标明访问权限的成员
//默认权限是public
//类中未标明访问权限的成员
//默认权限是private

//只有定义称为静态的类可以直接用

//static  类名

//一般类的使用都必须通过实例(对象)

//填空题
//c++面向对象的三大特征:封装、继承、多态

//封装就是用private把一部分变量和函数进行隐藏

//面向对象编程认为 万事万物皆对象，对象上有属性和行为
                                   //      变量  函数

//c++中封装的意义：
//                 将属性和行为作为一个整体，表现生活中的一些事务